Make function naming consistent for the various functions that retrieve
authorRichard Hult <richard@imendio.com>
Fri, 1 Jun 2007 21:03:34 +0000 (21:03 +0000)
committerRichard Hult <rhult@src.gnome.org>
Fri, 1 Jun 2007 21:03:34 +0000 (21:03 +0000)
2007-06-01  Richard Hult  <richard@imendio.com>

* gdk/quartz/gdkevents-quartz.[ch]: Make function naming
consistent for the various functions that retrieve data from an
event.

* gdk/quartz/gdkprivate-quartz.h:
* gdk/quartz/gdkwindow-quartz.[ch]: Remove the now unused
_gdk_quartz_window_find_child_by_point() function.

svn path=/trunk/; revision=18006

ChangeLog
gdk/quartz/gdkevents-quartz.c
gdk/quartz/gdkprivate-quartz.h
gdk/quartz/gdkwindow-quartz.c

index d32636ddad524d333a074be5eedcbb70399ede5c..f5cc78ebe4c884409ebbc0f9f07d4e3e4f1dbc0f 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,13 @@
+2007-06-01  Richard Hult  <richard@imendio.com>
+
+       * gdk/quartz/gdkevents-quartz.[ch]: Make function naming
+       consistent for the various functions that retrieve data from an
+       event.
+
+       * gdk/quartz/gdkprivate-quartz.h: 
+       * gdk/quartz/gdkwindow-quartz.[ch]: Remove the now unused
+       _gdk_quartz_window_find_child_by_point() function.
+
 2007-06-01  Matthias Clasen  <mclasen@redhat.com>
 
        Add support for composited child windows.  (#412882, Ryan Lortie)
index 9748591cebca11d2bd3a787b58a3876bff96a0a6..8a8e8e1a747629c369bfa6a1e20792ebb0bed902 100644 (file)
@@ -2,7 +2,7 @@
  *
  * Copyright (C) 1995-1997 Peter Mattis, Spencer Kimball and Josh MacDonald
  * Copyright (C) 1998-2002 Tor Lillqvist
- * Copyright (C) 2005-2006 Imendio AB
+ * Copyright (C) 2005-2007 Imendio AB
  *
  * This library is free software; you can redistribute it and/or
  * modify it under the terms of the GNU Lesser General Public
@@ -336,7 +336,7 @@ find_window_interested_in_event_mask (GdkWindow    *window,
 }
 
 static guint32
-get_event_time (NSEvent *event)
+get_time_from_ns_event (NSEvent *event)
 {
   double time = [event timestamp];
   
@@ -344,8 +344,12 @@ get_event_time (NSEvent *event)
 }
 
 static int
-convert_mouse_button_number (int button)
+get_mouse_button_from_ns_event (NSEvent *event)
 {
+  int button;
+
+  button = [event buttonNumber];
+
   switch (button)
     {
     case 0:
@@ -359,6 +363,28 @@ convert_mouse_button_number (int button)
     }
 }
 
+static GdkModifierType
+get_keyboard_modifiers_from_ns_event (NSEvent *nsevent)
+{
+  GdkModifierType modifiers = 0;
+  int nsflags;
+
+  nsflags = [nsevent modifierFlags];
+  
+  if (nsflags & NSAlphaShiftKeyMask)
+    modifiers |= GDK_LOCK_MASK;
+  if (nsflags & NSShiftKeyMask)
+    modifiers |= GDK_SHIFT_MASK;
+  if (nsflags & NSControlKeyMask)
+    modifiers |= GDK_CONTROL_MASK;
+  if (nsflags & NSCommandKeyMask)
+    modifiers |= GDK_MOD1_MASK;
+
+  /* FIXME: Support GDK_BUTTON_MASK */
+
+  return modifiers;
+}
+
 /* Return an event mask from an NSEvent */
 static GdkEventMask
 get_event_mask_from_ns_event (NSEvent *nsevent)
@@ -397,7 +423,7 @@ get_event_mask_from_ns_event (NSEvent *nsevent)
                GDK_POINTER_MOTION_HINT_MASK |
                GDK_BUTTON_MOTION_MASK);
 
-       if (convert_mouse_button_number ([nsevent buttonNumber]) == 2)
+       if (get_mouse_button_from_ns_event (nsevent) == 2)
          mask |= (GDK_BUTTON2_MOTION_MASK | GDK_BUTTON2_MOTION_MASK | 
                   GDK_BUTTON2_MASK);
 
@@ -488,28 +514,6 @@ gdk_window_is_ancestor (GdkWindow *ancestor,
          gdk_window_is_ancestor (ancestor, gdk_window_get_parent (window)));
 }
 
-static GdkModifierType
-get_keyboard_modifiers_from_nsevent (NSEvent *nsevent)
-{
-  GdkModifierType modifiers = 0;
-  int nsflags;
-
-  nsflags = [nsevent modifierFlags];
-  
-  if (nsflags & NSAlphaShiftKeyMask)
-    modifiers |= GDK_LOCK_MASK;
-  if (nsflags & NSShiftKeyMask)
-    modifiers |= GDK_SHIFT_MASK;
-  if (nsflags & NSControlKeyMask)
-    modifiers |= GDK_CONTROL_MASK;
-  if (nsflags & NSCommandKeyMask)
-    modifiers |= GDK_MOD1_MASK;
-
-  /* FIXME: Support GDK_BUTTON_MASK */
-
-  return modifiers;
-}
-
 static void
 convert_window_coordinates_to_root (GdkWindow *window,
                                    gdouble    x,
@@ -543,7 +547,7 @@ create_crossing_event (GdkWindow      *window,
   
   event->crossing.window = window;
   event->crossing.subwindow = NULL; /* FIXME */
-  event->crossing.time = get_event_time (nsevent);
+  event->crossing.time = get_time_from_ns_event (nsevent);
 
   point = [nsevent locationInWindow];
   event->crossing.x = point.x;
@@ -842,9 +846,9 @@ get_ancestor_coordinates_from_child (GdkWindow *child_window,
  * to the found window, and normal GDK coordinates, not Quartz.
  */
 static GdkWindow *
-find_window_for_mouse_nsevent (NSEvent *nsevent,
-                              gint    *x_ret,
-                              gint    *y_ret)
+find_window_for_mouse_ns_event (NSEvent *nsevent,
+                                gint    *x_ret,
+                                gint    *y_ret)
 {
   NSWindow *nswindow;
   GdkWindow *toplevel;
@@ -891,7 +895,9 @@ find_window_for_mouse_nsevent (NSEvent *nsevent,
  * into account grabs, event propagation, and event masks.
  */
 static GdkWindow *
-find_window_for_nsevent (NSEvent *nsevent, gint *x, gint *y)
+find_window_for_ns_event (NSEvent *nsevent, 
+                          gint    *x, 
+                          gint    *y)
 {
   NSWindow *nswindow = [nsevent window];
   NSEventType event_type = [nsevent type];
@@ -914,7 +920,7 @@ find_window_for_nsevent (NSEvent *nsevent, gint *x, gint *y)
     {
       GdkWindow *mouse_window;
 
-      mouse_window = find_window_for_mouse_nsevent (nsevent, x, y);
+      mouse_window = find_window_for_mouse_ns_event (nsevent, x, y);
 
       if (!mouse_window)
        mouse_window = _gdk_root;
@@ -968,7 +974,7 @@ find_window_for_nsevent (NSEvent *nsevent, gint *x, gint *y)
          {
            if (pointer_grab_owner_events)
              {
-               mouse_window = find_window_for_mouse_nsevent (nsevent, x, y);
+               mouse_window = find_window_for_mouse_ns_event (nsevent, x, y);
                event_mask = get_event_mask_from_ns_event (nsevent);
                real_window = find_window_interested_in_event_mask (mouse_window, event_mask, TRUE);
                
@@ -1011,7 +1017,7 @@ find_window_for_nsevent (NSEvent *nsevent, gint *x, gint *y)
        else 
          {
            /* The non-grabbed case. */
-           mouse_window = find_window_for_mouse_nsevent (nsevent, x, y);
+           mouse_window = find_window_for_mouse_ns_event (nsevent, x, y);
            event_mask = get_event_mask_from_ns_event (nsevent);
            real_window = find_window_interested_in_event_mask (mouse_window, event_mask, TRUE);
            
@@ -1033,7 +1039,7 @@ find_window_for_nsevent (NSEvent *nsevent, gint *x, gint *y)
       {
        GdkWindow *mouse_window;
 
-       mouse_window = find_window_for_mouse_nsevent (nsevent, x, y);
+       mouse_window = find_window_for_mouse_ns_event (nsevent, x, y);
        synthesize_crossing_events (mouse_window, GDK_CROSSING_NORMAL, nsevent, *x, *y);
       }
       break;
@@ -1060,6 +1066,7 @@ find_window_for_nsevent (NSEvent *nsevent, gint *x, gint *y)
     case NSSystemDefined:
       /* We ignore these events */
       break;
+
     default:
       NSLog(@"Unhandled event %@", nsevent);
     }
@@ -1068,8 +1075,10 @@ find_window_for_nsevent (NSEvent *nsevent, gint *x, gint *y)
 }
 
 static GdkEvent *
-create_button_event (GdkWindow *window, NSEvent *nsevent,
-                    gint x, gint y)
+create_button_event (GdkWindow *window, 
+                     NSEvent   *nsevent,
+                    gint       x,
+                     gint       y)
 {
   GdkEvent *event;
   GdkEventType type;
@@ -1091,15 +1100,15 @@ create_button_event (GdkWindow *window, NSEvent *nsevent,
       g_assert_not_reached ();
     }
   
-  button = convert_mouse_button_number ([nsevent buttonNumber]);
+  button = get_mouse_button_from_ns_event (nsevent);
 
   event = gdk_event_new (type);
   event->button.window = window;
-  event->button.time = get_event_time (nsevent);
+  event->button.time = get_time_from_ns_event (nsevent);
   event->button.x = x;
   event->button.y = y;
   /* FIXME event->axes */
-  event->button.state = get_keyboard_modifiers_from_nsevent (nsevent);
+  event->button.state = get_keyboard_modifiers_from_ns_event (nsevent);
   event->button.button = button;
   event->button.device = _gdk_display->core_pointer;
   convert_window_coordinates_to_root (window, x, y, 
@@ -1110,7 +1119,10 @@ create_button_event (GdkWindow *window, NSEvent *nsevent,
 }
 
 static GdkEvent *
-create_motion_event (GdkWindow *window, NSEvent *nsevent, gint x, gint y)
+create_motion_event (GdkWindow *window, 
+                     NSEvent   *nsevent, 
+                     gint       x, 
+                     gint       y)
 {
   GdkEvent *event;
   GdkEventType type;
@@ -1122,7 +1134,7 @@ create_motion_event (GdkWindow *window, NSEvent *nsevent, gint x, gint y)
     case NSLeftMouseDragged:
     case NSRightMouseDragged:
     case NSOtherMouseDragged:
-      button = convert_mouse_button_number ([nsevent buttonNumber]);
+      button = get_mouse_button_from_ns_event (nsevent);
       /* Fall through */
     case NSMouseMoved:
       type = GDK_MOTION_NOTIFY;
@@ -1135,11 +1147,11 @@ create_motion_event (GdkWindow *window, NSEvent *nsevent, gint x, gint y)
   if (button >= 1 && button <= 5)
     state = (1 << (button + 7));
   
-  state |= get_keyboard_modifiers_from_nsevent (nsevent);
+  state |= get_keyboard_modifiers_from_ns_event (nsevent);
 
   event = gdk_event_new (type);
   event->motion.window = window;
-  event->motion.time = get_event_time (nsevent);
+  event->motion.time = get_time_from_ns_event (nsevent);
   event->motion.x = x;
   event->motion.y = y;
   /* FIXME event->axes */
@@ -1153,14 +1165,16 @@ create_motion_event (GdkWindow *window, NSEvent *nsevent, gint x, gint y)
 }
 
 static GdkEvent *
-create_scroll_event (GdkWindow *window, NSEvent *nsevent, GdkScrollDirection direction)
+create_scroll_event (GdkWindow          *window, 
+                     NSEvent            *nsevent, 
+                     GdkScrollDirection  direction)
 {
   GdkEvent *event;
   NSPoint point;
   
   event = gdk_event_new (GDK_SCROLL);
   event->scroll.window = window;
-  event->scroll.time = get_event_time (nsevent);
+  event->scroll.time = get_time_from_ns_event (nsevent);
 
   point = [nsevent locationInWindow];
   event->scroll.x = point.x;
@@ -1176,7 +1190,9 @@ create_scroll_event (GdkWindow *window, NSEvent *nsevent, GdkScrollDirection dir
 }
 
 static GdkEvent *
-create_key_event (GdkWindow *window, NSEvent *nsevent, GdkEventType type)
+create_key_event (GdkWindow    *window, 
+                  NSEvent      *nsevent, 
+                  GdkEventType  type)
 {
   GdkEvent *event;
   gchar buf[7];
@@ -1184,8 +1200,8 @@ create_key_event (GdkWindow *window, NSEvent *nsevent, GdkEventType type)
 
   event = gdk_event_new (type);
   event->key.window = window;
-  event->key.time = get_event_time (nsevent);
-  event->key.state = get_keyboard_modifiers_from_nsevent (nsevent);
+  event->key.time = get_time_from_ns_event (nsevent);
+  event->key.state = get_keyboard_modifiers_from_ns_event (nsevent);
   event->key.hardware_keycode = [nsevent keyCode];
   event->key.group = ([nsevent modifierFlags] & NSAlternateKeyMask) ? 1 : 0;
 
@@ -1267,7 +1283,7 @@ gdk_event_translate (NSEvent *nsevent)
       /* Apply global filters */
 
       GdkFilterReturn result = apply_filters (NULL, nsevent, _gdk_default_filters);
-      
+
       /* If result is GDK_FILTER_CONTINUE, we continue as if nothing
        * happened. If it is GDK_FILTER_REMOVE,
        * we return TRUE and won't send the message to Quartz.
@@ -1300,13 +1316,8 @@ gdk_event_translate (NSEvent *nsevent)
        }
     }
 
-  window = find_window_for_nsevent (nsevent, &x, &y);
+  window = find_window_for_ns_event (nsevent, &x, &y);
 
-  /* FIXME: During owner_event grabs, we don't find a window when there is a
-   * click on a no-window widget, which makes popups etc still stay up. Need
-   * to figure out why that is.
-   */
-  
   if (!window)
     return FALSE;
 
index df676737aa0145f6027838daa4359bc218d3e6dc..aebc1b4de4df57a4acdd95d43249a1004dc14e46 100644 (file)
@@ -1,6 +1,6 @@
 /* gdkwindow-quartz.c
  *
- * Copyright (C) 2005-2006 Imendio AB
+ * Copyright (C) 2005-2007 Imendio AB
  *
  * This library is free software; you can redistribute it and/or
  * modify it under the terms of the GNU Lesser General Public
@@ -134,11 +134,6 @@ void _gdk_quartz_colormap_get_rgba_from_pixel (GdkColormap *colormap,
                                               gfloat      *alpha);
 
 /* Window */
-GdkWindow *_gdk_quartz_window_find_child_by_point   (GdkWindow *toplevel,
-                                                    gint       x,
-                                                    gint       y,
-                                                    gint      *x_ret,
-                                                    gint      *y_ret);
 gint       _gdk_quartz_window_get_inverted_screen_y (gint       y);
 GdkWindow *_gdk_quartz_window_find_child            (GdkWindow *window,
                                                     gint       x,
index 51f253ecf231a36b12d6a050102185734a571573..0188e0beb493440cfe9a8aef6872c19b55652520 100644 (file)
@@ -496,72 +496,6 @@ _gdk_quartz_window_find_child (GdkWindow *window,
   return NULL;
 }
 
-static GdkWindow *
-find_child_window_by_point_helper (GdkWindow *window,
-                                  gint       x,
-                                  gint       y,
-                                  gint       x_offset,
-                                  gint       y_offset,
-                                  gint      *x_ret,
-                                  gint      *y_ret)
-{
-  GList *l;
-
-  for (l = GDK_WINDOW_OBJECT (window)->children; l; l = l->next)
-    {
-      GdkWindowObject *private = GDK_WINDOW_OBJECT (l->data);
-      GdkWindowImplQuartz *impl = GDK_WINDOW_IMPL_QUARTZ (private->impl);
-      int temp_x, temp_y;
-
-      if (!GDK_WINDOW_IS_MAPPED (private))
-       continue;
-
-      temp_x = x_offset + private->x;
-      temp_y = y_offset + private->y;
-      
-      /* FIXME: Are there off by one errors here? */
-      if (x >= temp_x && y >= temp_y &&
-         x < temp_x + impl->width && y < temp_y + impl->height) 
-       {
-         *x_ret = x - x_offset - private->x;
-         *y_ret = y - y_offset - private->y;
-         
-         /* Look for child windows */
-         return find_child_window_by_point_helper (GDK_WINDOW (l->data),
-                                                   x, y,
-                                                   temp_x, temp_y,
-                                                   x_ret, y_ret);
-       }
-    }
-
-  return window;
-}
-
-/* Given a toplevel window and coordinates, returns the window
- * in which the point is. Note that x and y should be non-flipped
- * (and relative the toplevel), while the returned positions are
- * flipped.
- */
-GdkWindow *
-_gdk_quartz_window_find_child_by_point (GdkWindow *toplevel,
-                                       gint       x,
-                                       gint       y,
-                                       gint      *x_ret,
-                                       gint      *y_ret)
-{
-  GdkWindowObject *private = (GdkWindowObject *)toplevel;
-  GdkWindowImplQuartz *impl = GDK_WINDOW_IMPL_QUARTZ (private->impl);
-
-  /* If the point is in the title bar, ignore it */
-  if (y > impl->height)
-    return NULL;
-
-  /* First flip the y coordinate */
-  y = impl->height - y;
-
-  return find_child_window_by_point_helper (toplevel, x, y, 0, 0, x_ret, y_ret);
-}
-
 GdkWindow *
 gdk_window_new (GdkWindow     *parent,
                GdkWindowAttr *attributes,